function clearCoverageData()
%CLEARCOVERAGEDATA 清理覆盖率数据
%   此函数清理Simulink Coverage工具中所有累积的模型和代码覆盖率数据。
%   用于重置覆盖率分析环境，确保新的测试运行不受之前数据影响。
%
%语法:
%   clearCoverageData()
%
%输入参数:
%   无
%
%输出参数:
%   无
%
%说明:
%   - 首先检查Simulink Coverage许可证是否可用
%   - 调用cvexit()函数清理所有覆盖率数据
%   - 如果许可证不可用，显示警告信息但不中断执行
%   - 清理包括模型覆盖率和代码覆盖率数据
%
%清理内容:
%   - 模型覆盖率数据（决策、条件、MCDC覆盖率）
%   - 代码覆盖率数据（语句、分支、函数覆盖率）
%   - 覆盖率累积器中的所有历史数据
%   - 临时覆盖率文件和缓存
%
%使用场景:
%   - 开始新的覆盖率分析周期前的清理
%   - 项目初始化或重置
%   - 解决覆盖率数据冲突问题
%   - 自动化测试脚本中的环境准备
%   - 内存清理和性能优化
%
%重要性:
%   在DO-178C标准中，覆盖率分析的准确性至关重要。
%   清理旧数据确保每次分析的独立性和可靠性。
%
%示例:
%   % 基本清理操作
%   clearCoverageData();
%   fprintf('覆盖率数据已清理完成\n');
%
%   % 在测试序列中使用
%   fprintf('准备运行覆盖率测试...\n');
%   clearCoverageData();           % 清理旧数据
%   verifyModel2Reqs('MyModel');   % 运行测试并收集覆盖率
%   mergeModelCoverage('MyModel'); % 合并覆盖率数据
%
%   % 批量测试前的准备
%   models = getModelList();
%   clearCoverageData();  % 全局清理
%   for i = 1:length(models)
%       fprintf('测试模型: %s\n', models{i});
%       verifyModel2Reqs(models{i}, [], [], 'CI');
%   end
%
%   % 项目重置流程
%   function projectReset()
%       clearCoverageData();    % 清理覆盖率数据
%       clearTestManager();     % 清理测试管理器
%       resetWorkspace();       % 重置工作空间
%       returnToWorkFolder();   % 返回工作目录
%       fprintf('项目环境已重置\n');
%   end
%
%许可证要求:
%   此函数需要Simulink Coverage许可证。如果许可证不可用，
%   函数会显示警告但不会中断执行，以保持脚本的连续性。
%
%相关功能:
%   - clearTestManager: 清理测试管理器
%   - resetWorkspace: 重置工作空间
%   - cvexit: Simulink Coverage的清理函数
%
%依赖项:
%   dig.isProductInstalled - 检查产品安装状态
%   cvexit - Simulink Coverage清理函数
%
%参见:
%   clearTestManager, resetWorkspace, cvexit, slcov
%

%版本: 1.0
%日期: 2021-2024
%


if dig.isProductInstalled('Simulink Coverage')
    cvexit();
else
    warning('A Simulink Coverage license is not available.');
end

end
